
package com.rt.schedulebase.mapper;

import com.rt.schedulebase.dto.ExamApplyDto;
import com.rt.schedulebase.dto.ExamApplyPatientDto;
import com.rt.schedulebase.entity.ExamApply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.rt.schedulebase.entity.ExamScheduleItem;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ExamApplyMapper extends BaseMapper<ExamApply> {

    List<ExamApplyDto> getList(ExamApplyDto p0);

    List<ExamApplyDto> getPatientList(ExamApplyDto p0);

    List<ExamApplyDto> getPatientInfoList(ExamApplyDto p0);

    List<ExamApplyDto> getExamApplyList(ExamApplyDto p0);

    List<String> getSickIds(Map<String, String> p0);

    List<ExamApplyDto> getByIcCard(ExamApplyDto p0);

    int findExamApplyForCancel(ExamApplyDto p0);

    String getLastMensesDate(ExamApplyDto p0);

    ExamApplyDto getExamApply(Map<String, Object> p0);

    List<ExamApplyDto> getReExamSchedule(ExamApplyDto p0);

    List<ExamApplyDto> getExamSchedule(ExamApplyDto p0);

    List<ExamApplyDto> findByApplyNo(ExamApplyDto p0);

    ExamApplyPatientDto getPatientInfo(ExamApplyPatientDto p0);

    List<ExamApplyDto> getExamSchedules(ExamApplyDto p0);

    List<ExamApplyDto> getExamScheduleForItem(ExamApplyDto p0);

    void register(Map<String, String> p0);

    void cancelRegister(Map<String, String> p0);

    List<String> getPerformHospital(List<String> p0);

    List<ExamApplyDto> getExamScheduleForBreakPromise(ExamApplyDto p0);

    List<ExamApplyPatientDto> getPatientInfo2(ExamApplyPatientDto p0);

    List<ExamApplyDto> getSignInItem(ExamApplyDto p0);

    int updateExamApply(ExamApplyDto p0);

    String cureInterval(String p0);

    void getWaitingInfo(Map<String, String> p0);

    void autoTriage(Map<String, String> p0);

    /**
     * 获取患者预约列表
     * @param p0
     * @return
     */
    List<ExamApplyDto> getScheduleList(ExamApplyDto p0);

    /**
     * 获取患者预约列表
     * @param paramExamApplyDto
     * @return
     */
    List<ExamApplyDto> getPatientListOut(ExamApplyDto paramExamApplyDto);


    /**
     * 根据申请单号获取预约信息
     * @param applyNOs
     * @return
     */
    List<ExamScheduleItem> getExamScheduleItemByApplyNos(@Param("applyNOs") List<String> applyNOs);
}
